#ifndef CLASS_FACTORY_H_
#define CLASS_FACTORY_H_
#include<string>


class Shape
{
  private :
    std::string test;
  protected :
    std::string id;


  public :
    Shape(std::string id);
    void operator=(const Shape& other);
    std::string getId();
    ~Shape();
    virtual double area();
};


class Rectangle : public Shape
{
  private :
    double width;
    double height;

  public:
    Rectangle();
    void operator=(const Rectangle& other);

    Rectangle(std::string id, double width,double height);
    ~Rectangle(); 
    double area();
    
};


#endif